\subsection{detectar.bash}
\subsubsection{Descripción}
Este comando puede ser ejecutado en forma manual o mediante el comando INICIAR.

Graba en un archivo de log llamado {\ttfamily \$DETECTAR\_CMD.log}.

No se puede ejecutar este comando si la inicialización de ambiente no fue realizada.

El propósito de este comando es DETECTAR el arribo de archivos al directorio {\ttfamily \$DATADIR} predeterminado al inicializarse el ambiente. Si los archivos detectados respetan el formato especificado se los pone a disposición del comando AUDITAR, caso contrario, son rechazados y enviados al directorio correspondiente de archivos rechazados. Si hay archivos preparados para AUDITAR, DETECTAR se encarga de invocar al comando AUDITAR.

Este comando es del tipo “Demonio”.

\subsubsection{Tipo}
	Solicitado.
\subsubsection{Lenguaje}
	BASH Scripting.

\subsubsection{Archivo de Input}
\begin{itemize}
	\item Archivo de configuración {\ttfamily \$CURRDIR/conf/segmentar.conf.}
	\item Tabla de centrales {\ttfamily \$CURRDIR/conf/centrales.dat.}
	\item Cualquier tipo de archivo que arribe al directorio {\ttfamily \$CURRDIR/\$DATADIR.}
\end{itemize}
\subsubsection{Archivos de Output}
\begin{itemize}
	\item Archivos para auditar {\ttfamily \$CURRDIR/\$DATADIR/preparados/aaaammdd.<central>.}
	\item Archivo de log {\ttfamily \$CURRDIR/\$LOGDIR/detectar.log.}
	\item Archivos rechazados {\ttfamily \$CURRDIR/\$DATADIR/rechazados.}
\end{itemize}

\subsubsection{Parametros}
\begin{itemize}
	\item finalizar – Finaliza el demonio si está corriendo.
\end{itemize}
\subsubsection{Opciones}
\begin{itemize}
	\item -
\end{itemize}

\subsubsection{Pasos}
Luego de lanzado el comando, estos son los pasos que realiza
Estos pasos son ejecutados en forma constante hasta que se finalice el demonio.
\begin{enumerate}
	\item Chequea que el demonio no se esté ejecutando en otro proceso.
	\item Si no se está ejecutando, ejecuta el demonio. Entra en un bucle infinito
	\item Chequea la existencia de archivos en el directorio {\ttfamily \$DATADIR.}
	\begin{enumerate}
		\item Por cada archivo detectado, verifica que cumpla el formato “aaaammdd.<central>”.
		\item “aaaammdd” debe ser una fecha válida.
		\item <central> debe ser una central existente en el archivo “centrales.dat”.
	\end{enumerate}
	\item Si cumple el formato:
	\begin{enumerate}
		\item Graba en el archivo {\ttfamily \$DETECTAR\_CMD.log}: \\
		{\ttfamily Fecha y hora, Usuario, “Se detecta el archivo: <nombre del archivo>”}
		\item Mueve el archivo a la carpeta {\ttfamily \$DATADIR/preparados/.}
	\end{enumerate}
	\item Si no lo cumple:
	\begin{enumerate}
		\item Graba en el archivo “detectar.log”: \\
		{\ttfamily Fecha y hora, Usuario, “Se rechaza el archivo:<nombre del archivo>”}
		\item Mueve el archivo a la carpeta {\ttfamily \$DATADIR/rechazados/.}
	\end{enumerate}
	\item Si existen archivos en la carpeta {\ttfamily \$DATADIR/preparados/} se invoca al comando AUDITAR
	\begin{enumerate}
		\item Verificar que  el comando AUDITAR no se esté ejecutando.
		\item Si está corriendo, se graba en el log: \\
		{\ttfamily Fecha y hora, Usuario, "Comando AUDITAR corriendo bajo el proceso numero: $<$proccess id de AUDITAR$>$}
		\item Si no está corriendo, se invoca a AUDITAR para que procese los archivos.
	\end{enumerate}
	\item Duerme un tiempo SLEEPD, especificado en el archivo de configuración para luego volver al paso 3.
\end{enumerate}

